The present disclosure relates to logic controllers and more particularly to automated root cause identification of logic controller failure.
In many manufacturing environments, logic controllers, such as programmable logic controllers (PLCs), are used to automate processes. Logic controllers may also be used in a wide variety of non-manufacturing environments that rely upon automated controls, for example, warehouses, water supply systems, electric power generation, transmission and distribution, gas and oil pipelines, and other distributed processes. Regardless of the particular application, enterprises that rely on logic controllers for process automation typically prefer to minimize downtime associated with a failure of a logic controller, as productivity may halt while the failure is being identified and remedied. The collective cost of downtime can be substantial in an automated environment that employs numerous logic controllers. For example, in an automotive assembly plant, individual logic controllers may control each robot cell on an assembly line, with dozens to hundreds of logic controllers used throughout the assembly line. A single failure may halt the entire assembly line, leading to lost production capacity.
Logic controllers execute logic programs that can contain thousands of lines of code (e.g., rungs of ladder logic), addressing thousands of input/output points or memory locations. Due to system complexity and incompleteness of test data, it is very difficult and time consuming to fully validate logic code to ensure that it is 100% correct during code development, and thus some logic errors are not found until deployment in the automated environment. When a logic failure occurs in the automated environment, it is desirable to quickly identify the root cause of the failure and correct the logic code to minimize downtime and safety risks. A typical approach taken when a logic failure occurs is that a control engineer manually scans the logic code line-by-line (often in a paper format) to attempt to identify the root cause. Depending upon the control engineer's experience level and the volume of logic code involved, this approach can take several weeks, resulting in high costs associated with lost production time and capacity. Moreover, when a safety related failure occurs involving logic controllers, the logic code in all logic controllers potentially involved in the failure may require detailed scrutinizing, placing a substantial burden upon the control engineers.
Accordingly, there is a need in the art for automated root cause identification of logic controller failure to reduce downtime and increase efficiency associated with failure resolution.